package com.system.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;
import java.util.Date;

@JsonInclude(value = JsonInclude.Include.NON_NULL)
@ApiModel("ApicodeDto")
public class ApicodeDto implements Serializable {

    private static final long serialVersionUID = 1965227987366142387L;
    /**
    * 主键
    */
    @ApiModelProperty("主键")
    private Integer id;

    /**
    * 接口编号
    */
    @Length(max =50 ,message = "长度不能超过50位")
    @ApiModelProperty("接口编号")
    private String apicode;

    /**
    * 接口名称
    */
    @Length(max =100 ,message = "长度不能超过100位")
    @ApiModelProperty("接口名称")
    private String apiName;

    /**
    * 所属模块
    */
    @Length(max =30 ,message = "长度不能超过30位")
    @ApiModelProperty("所属模块")
    private String module;

    /**
    * 备注信息
    */
    @ApiModelProperty("备注信息")
    private String remark;

    /**
    * 数据签名
    */
    @Length(max =32 ,message = "长度不能超过32位")
    @ApiModelProperty("数据签名")
    private String sign;

    /**
    * 创建人
    */
    @ApiModelProperty("创建人")
    private Integer createUser;

    /**
    * 创建部门
    */
    @ApiModelProperty("创建部门")
    private Integer createDept;

    /**
    * 创建时间
    */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
    * 修改人
    */
    @ApiModelProperty("修改人")
    private Integer updateUser;

    /**
    * 修改时间
    */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty("修改时间")
    private Date updateTime;

    /**
    * 状态
    */
    @ApiModelProperty("状态")
    private Integer status;

    /**
    * 是否已删除
    */
    @ApiModelProperty("是否已删除")
    private Integer isDeleted;

    public Integer getId() {
    return id;
    }

    public void setId(Integer id) {
    this.id = id;
    }

    public String getApicode() {
    return apicode;
    }

    public void setApicode(String apicode) {
    this.apicode = apicode;
    }

    public String getApiName() {
    return apiName;
    }

    public void setApiName(String apiName) {
    this.apiName = apiName;
    }

    public String getModule() {
    return module;
    }

    public void setModule(String module) {
    this.module = module;
    }

    public String getRemark() {
    return remark;
    }

    public void setRemark(String remark) {
    this.remark = remark;
    }

    public String getSign() {
    return sign;
    }

    public void setSign(String sign) {
    this.sign = sign;
    }

    public Integer getCreateUser() {
    return createUser;
    }

    public void setCreateUser(Integer createUser) {
    this.createUser = createUser;
    }

    public Integer getCreateDept() {
    return createDept;
    }

    public void setCreateDept(Integer createDept) {
    this.createDept = createDept;
    }

    public Date getCreateTime() {
    return createTime;
    }

    public void setCreateTime(Date createTime) {
    this.createTime = createTime;
    }

    public Integer getUpdateUser() {
    return updateUser;
    }

    public void setUpdateUser(Integer updateUser) {
    this.updateUser = updateUser;
    }

    public Date getUpdateTime() {
    return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
    }

    public Integer getStatus() {
    return status;
    }

    public void setStatus(Integer status) {
    this.status = status;
    }

    public Integer getIsDeleted() {
    return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
    this.isDeleted = isDeleted;
    }


    @Override
    public String toString() {
        String sb = getClass().getSimpleName() +
                " [" +
                "Hash = " + hashCode() +
                ", id=" + id +
                ", apicode=" + apicode +
                ", apiName=" + apiName +
                ", module=" + module +
                ", remark=" + remark +
                ", sign=" + sign +
                ", createUser=" + createUser +
                ", createDept=" + createDept +
                ", createTime=" + createTime +
                ", updateUser=" + updateUser +
                ", updateTime=" + updateTime +
                ", status=" + status +
                ", isDeleted=" + isDeleted +
                "]";
        return sb;
        }

}